import { IPSEAIDEField } from './ipseaidefield';
import { IPSSysEAIDEObject } from './ipssys-eaideobject';
import { IPSSysEAIElementAttr } from './ipssys-eaielement-attr';
import { IPSSysEAIElementRE } from './ipssys-eaielement-re';

/**
 *
 * @export
 * @interface IPSSysEAIDEField
 */
export interface IPSSysEAIDEField extends IPSEAIDEField, IPSSysEAIDEObject {
  /**
   * 集成元素属性
   *
   * @type {IPSSysEAIElementAttr}
   */
  getPSSysEAIElementAttr(): IPSSysEAIElementAttr | null;

  /**
   * 集成元素属性
   *
   * @type {IPSSysEAIElementAttr}
   */
  get psSysEAIElementAttr(): IPSSysEAIElementAttr | null;

  /**
   * 集成元素属性（必须存在）
   *
   * @type {IPSSysEAIElementAttr}
   */
  getPSSysEAIElementAttrMust(): IPSSysEAIElementAttr;

  /**
   * 集成元素引用属性
   *
   * @type {IPSSysEAIElementRE}
   */
  getPSSysEAIElementRE(): IPSSysEAIElementRE | null;

  /**
   * 集成元素引用属性
   *
   * @type {IPSSysEAIElementRE}
   */
  get psSysEAIElementRE(): IPSSysEAIElementRE | null;

  /**
   * 集成元素引用属性（必须存在）
   *
   * @type {IPSSysEAIElementRE}
   */
  getPSSysEAIElementREMust(): IPSSysEAIElementRE;
}
